import {config} from "../config.js"

const tip = {
  1:'抱歉出现了一个错误',
}

class HTTP{
  constructor() {
    this.baseRestUrl = config.api_blink_url
  }
  request(params){
    let url = this.baseRestUrl + params.url;
    if(!params.method){
      params.method = 'GET';
    }
    let _this = this
    wx.request({
      url: url,
      data: params.data,
      header: params.header,
      method: params.method,
      success: function(res) {
        // 判断以2（2xx)开头的状态码为正确
        // 异常不要返回到回调中，就在request中处理，记录日志并showToast一个统一的错误即可
        let code = res.statusCode.toString();
        let startChar = code.charAt(0);
        if (startChar == '2' && res.data.code ==0) {
          params.success && params.success(res.data);
        } else {
          // params.error && params.error(res);
          _this._show_error(res.data.error_code)
        }
      },
      fail: function (res) {
        _this._show_error(1)
      }
    })
  }

  _show_error(error_code){
    if(!error_code){
      error_code = 1;
    }

    wx.showToast({
      title: tip[error_code],
      icon:'none',
      duration:2000
    })
  }

}

export { HTTP };
